package com.qianhai.news.model;

import java.util.ArrayList;
import java.util.List;

public class ArticleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ArticleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andArticleUuidIsNull() {
            addCriterion("article_uuid is null");
            return (Criteria) this;
        }

        public Criteria andArticleUuidIsNotNull() {
            addCriterion("article_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andArticleUuidEqualTo(String value) {
            addCriterion("article_uuid =", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidNotEqualTo(String value) {
            addCriterion("article_uuid <>", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidGreaterThan(String value) {
            addCriterion("article_uuid >", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidGreaterThanOrEqualTo(String value) {
            addCriterion("article_uuid >=", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidLessThan(String value) {
            addCriterion("article_uuid <", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidLessThanOrEqualTo(String value) {
            addCriterion("article_uuid <=", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidLike(String value) {
            addCriterion("article_uuid like", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidNotLike(String value) {
            addCriterion("article_uuid not like", value, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidIn(List<String> values) {
            addCriterion("article_uuid in", values, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidNotIn(List<String> values) {
            addCriterion("article_uuid not in", values, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidBetween(String value1, String value2) {
            addCriterion("article_uuid between", value1, value2, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andArticleUuidNotBetween(String value1, String value2) {
            addCriterion("article_uuid not between", value1, value2, "articleUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidIsNull() {
            addCriterion("user_uuid is null");
            return (Criteria) this;
        }

        public Criteria andUserUuidIsNotNull() {
            addCriterion("user_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andUserUuidEqualTo(String value) {
            addCriterion("user_uuid =", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidNotEqualTo(String value) {
            addCriterion("user_uuid <>", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidGreaterThan(String value) {
            addCriterion("user_uuid >", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidGreaterThanOrEqualTo(String value) {
            addCriterion("user_uuid >=", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidLessThan(String value) {
            addCriterion("user_uuid <", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidLessThanOrEqualTo(String value) {
            addCriterion("user_uuid <=", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidLike(String value) {
            addCriterion("user_uuid like", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidNotLike(String value) {
            addCriterion("user_uuid not like", value, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidIn(List<String> values) {
            addCriterion("user_uuid in", values, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidNotIn(List<String> values) {
            addCriterion("user_uuid not in", values, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidBetween(String value1, String value2) {
            addCriterion("user_uuid between", value1, value2, "userUuid");
            return (Criteria) this;
        }

        public Criteria andUserUuidNotBetween(String value1, String value2) {
            addCriterion("user_uuid not between", value1, value2, "userUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidIsNull() {
            addCriterion("articletype_uuid is null");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidIsNotNull() {
            addCriterion("articletype_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidEqualTo(String value) {
            addCriterion("articletype_uuid =", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidNotEqualTo(String value) {
            addCriterion("articletype_uuid <>", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidGreaterThan(String value) {
            addCriterion("articletype_uuid >", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidGreaterThanOrEqualTo(String value) {
            addCriterion("articletype_uuid >=", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidLessThan(String value) {
            addCriterion("articletype_uuid <", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidLessThanOrEqualTo(String value) {
            addCriterion("articletype_uuid <=", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidLike(String value) {
            addCriterion("articletype_uuid like", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidNotLike(String value) {
            addCriterion("articletype_uuid not like", value, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidIn(List<String> values) {
            addCriterion("articletype_uuid in", values, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidNotIn(List<String> values) {
            addCriterion("articletype_uuid not in", values, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidBetween(String value1, String value2) {
            addCriterion("articletype_uuid between", value1, value2, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticletypeUuidNotBetween(String value1, String value2) {
            addCriterion("articletype_uuid not between", value1, value2, "articletypeUuid");
            return (Criteria) this;
        }

        public Criteria andArticleTitleIsNull() {
            addCriterion("article_title is null");
            return (Criteria) this;
        }

        public Criteria andArticleTitleIsNotNull() {
            addCriterion("article_title is not null");
            return (Criteria) this;
        }

        public Criteria andArticleTitleEqualTo(String value) {
            addCriterion("article_title =", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleNotEqualTo(String value) {
            addCriterion("article_title <>", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleGreaterThan(String value) {
            addCriterion("article_title >", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleGreaterThanOrEqualTo(String value) {
            addCriterion("article_title >=", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleLessThan(String value) {
            addCriterion("article_title <", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleLessThanOrEqualTo(String value) {
            addCriterion("article_title <=", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleLike(String value) {
            addCriterion("article_title like", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleNotLike(String value) {
            addCriterion("article_title not like", value, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleIn(List<String> values) {
            addCriterion("article_title in", values, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleNotIn(List<String> values) {
            addCriterion("article_title not in", values, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleBetween(String value1, String value2) {
            addCriterion("article_title between", value1, value2, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleTitleNotBetween(String value1, String value2) {
            addCriterion("article_title not between", value1, value2, "articleTitle");
            return (Criteria) this;
        }

        public Criteria andArticleStateIsNull() {
            addCriterion("article_state is null");
            return (Criteria) this;
        }

        public Criteria andArticleStateIsNotNull() {
            addCriterion("article_state is not null");
            return (Criteria) this;
        }

        public Criteria andArticleStateEqualTo(Integer value) {
            addCriterion("article_state =", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateNotEqualTo(Integer value) {
            addCriterion("article_state <>", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateGreaterThan(Integer value) {
            addCriterion("article_state >", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("article_state >=", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateLessThan(Integer value) {
            addCriterion("article_state <", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateLessThanOrEqualTo(Integer value) {
            addCriterion("article_state <=", value, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateIn(List<Integer> values) {
            addCriterion("article_state in", values, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateNotIn(List<Integer> values) {
            addCriterion("article_state not in", values, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateBetween(Integer value1, Integer value2) {
            addCriterion("article_state between", value1, value2, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleStateNotBetween(Integer value1, Integer value2) {
            addCriterion("article_state not between", value1, value2, "articleState");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeIsNull() {
            addCriterion("article_createTime is null");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeIsNotNull() {
            addCriterion("article_createTime is not null");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeEqualTo(String value) {
            addCriterion("article_createTime =", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeNotEqualTo(String value) {
            addCriterion("article_createTime <>", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeGreaterThan(String value) {
            addCriterion("article_createTime >", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeGreaterThanOrEqualTo(String value) {
            addCriterion("article_createTime >=", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeLessThan(String value) {
            addCriterion("article_createTime <", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeLessThanOrEqualTo(String value) {
            addCriterion("article_createTime <=", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeLike(String value) {
            addCriterion("article_createTime like", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeNotLike(String value) {
            addCriterion("article_createTime not like", value, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeIn(List<String> values) {
            addCriterion("article_createTime in", values, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeNotIn(List<String> values) {
            addCriterion("article_createTime not in", values, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeBetween(String value1, String value2) {
            addCriterion("article_createTime between", value1, value2, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleCreatetimeNotBetween(String value1, String value2) {
            addCriterion("article_createTime not between", value1, value2, "articleCreatetime");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordIsNull() {
            addCriterion("article_keyword is null");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordIsNotNull() {
            addCriterion("article_keyword is not null");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordEqualTo(String value) {
            addCriterion("article_keyword =", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordNotEqualTo(String value) {
            addCriterion("article_keyword <>", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordGreaterThan(String value) {
            addCriterion("article_keyword >", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordGreaterThanOrEqualTo(String value) {
            addCriterion("article_keyword >=", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordLessThan(String value) {
            addCriterion("article_keyword <", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordLessThanOrEqualTo(String value) {
            addCriterion("article_keyword <=", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordLike(String value) {
            addCriterion("article_keyword like", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordNotLike(String value) {
            addCriterion("article_keyword not like", value, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordIn(List<String> values) {
            addCriterion("article_keyword in", values, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordNotIn(List<String> values) {
            addCriterion("article_keyword not in", values, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordBetween(String value1, String value2) {
            addCriterion("article_keyword between", value1, value2, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleKeywordNotBetween(String value1, String value2) {
            addCriterion("article_keyword not between", value1, value2, "articleKeyword");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageIsNull() {
            addCriterion("article_language is null");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageIsNotNull() {
            addCriterion("article_language is not null");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageEqualTo(String value) {
            addCriterion("article_language =", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageNotEqualTo(String value) {
            addCriterion("article_language <>", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageGreaterThan(String value) {
            addCriterion("article_language >", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageGreaterThanOrEqualTo(String value) {
            addCriterion("article_language >=", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageLessThan(String value) {
            addCriterion("article_language <", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageLessThanOrEqualTo(String value) {
            addCriterion("article_language <=", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageLike(String value) {
            addCriterion("article_language like", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageNotLike(String value) {
            addCriterion("article_language not like", value, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageIn(List<String> values) {
            addCriterion("article_language in", values, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageNotIn(List<String> values) {
            addCriterion("article_language not in", values, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageBetween(String value1, String value2) {
            addCriterion("article_language between", value1, value2, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleLanguageNotBetween(String value1, String value2) {
            addCriterion("article_language not between", value1, value2, "articleLanguage");
            return (Criteria) this;
        }

        public Criteria andArticleCodeIsNull() {
            addCriterion("article_code is null");
            return (Criteria) this;
        }

        public Criteria andArticleCodeIsNotNull() {
            addCriterion("article_code is not null");
            return (Criteria) this;
        }

        public Criteria andArticleCodeEqualTo(String value) {
            addCriterion("article_code =", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeNotEqualTo(String value) {
            addCriterion("article_code <>", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeGreaterThan(String value) {
            addCriterion("article_code >", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeGreaterThanOrEqualTo(String value) {
            addCriterion("article_code >=", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeLessThan(String value) {
            addCriterion("article_code <", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeLessThanOrEqualTo(String value) {
            addCriterion("article_code <=", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeLike(String value) {
            addCriterion("article_code like", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeNotLike(String value) {
            addCriterion("article_code not like", value, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeIn(List<String> values) {
            addCriterion("article_code in", values, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeNotIn(List<String> values) {
            addCriterion("article_code not in", values, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeBetween(String value1, String value2) {
            addCriterion("article_code between", value1, value2, "articleCode");
            return (Criteria) this;
        }

        public Criteria andArticleCodeNotBetween(String value1, String value2) {
            addCriterion("article_code not between", value1, value2, "articleCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeIsNull() {
            addCriterion("type_code is null");
            return (Criteria) this;
        }

        public Criteria andTypeCodeIsNotNull() {
            addCriterion("type_code is not null");
            return (Criteria) this;
        }

        public Criteria andTypeCodeEqualTo(String value) {
            addCriterion("type_code =", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeNotEqualTo(String value) {
            addCriterion("type_code <>", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeGreaterThan(String value) {
            addCriterion("type_code >", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeGreaterThanOrEqualTo(String value) {
            addCriterion("type_code >=", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeLessThan(String value) {
            addCriterion("type_code <", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeLessThanOrEqualTo(String value) {
            addCriterion("type_code <=", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeLike(String value) {
            addCriterion("type_code like", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeNotLike(String value) {
            addCriterion("type_code not like", value, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeIn(List<String> values) {
            addCriterion("type_code in", values, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeNotIn(List<String> values) {
            addCriterion("type_code not in", values, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeBetween(String value1, String value2) {
            addCriterion("type_code between", value1, value2, "typeCode");
            return (Criteria) this;
        }

        public Criteria andTypeCodeNotBetween(String value1, String value2) {
            addCriterion("type_code not between", value1, value2, "typeCode");
            return (Criteria) this;
        }

        public Criteria andIndex1IsNull() {
            addCriterion("index1 is null");
            return (Criteria) this;
        }

        public Criteria andIndex1IsNotNull() {
            addCriterion("index1 is not null");
            return (Criteria) this;
        }

        public Criteria andIndex1EqualTo(String value) {
            addCriterion("index1 =", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1NotEqualTo(String value) {
            addCriterion("index1 <>", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1GreaterThan(String value) {
            addCriterion("index1 >", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1GreaterThanOrEqualTo(String value) {
            addCriterion("index1 >=", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1LessThan(String value) {
            addCriterion("index1 <", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1LessThanOrEqualTo(String value) {
            addCriterion("index1 <=", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1Like(String value) {
            addCriterion("index1 like", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1NotLike(String value) {
            addCriterion("index1 not like", value, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1In(List<String> values) {
            addCriterion("index1 in", values, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1NotIn(List<String> values) {
            addCriterion("index1 not in", values, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1Between(String value1, String value2) {
            addCriterion("index1 between", value1, value2, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex1NotBetween(String value1, String value2) {
            addCriterion("index1 not between", value1, value2, "index1");
            return (Criteria) this;
        }

        public Criteria andIndex2IsNull() {
            addCriterion("index2 is null");
            return (Criteria) this;
        }

        public Criteria andIndex2IsNotNull() {
            addCriterion("index2 is not null");
            return (Criteria) this;
        }

        public Criteria andIndex2EqualTo(String value) {
            addCriterion("index2 =", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2NotEqualTo(String value) {
            addCriterion("index2 <>", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2GreaterThan(String value) {
            addCriterion("index2 >", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2GreaterThanOrEqualTo(String value) {
            addCriterion("index2 >=", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2LessThan(String value) {
            addCriterion("index2 <", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2LessThanOrEqualTo(String value) {
            addCriterion("index2 <=", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2Like(String value) {
            addCriterion("index2 like", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2NotLike(String value) {
            addCriterion("index2 not like", value, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2In(List<String> values) {
            addCriterion("index2 in", values, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2NotIn(List<String> values) {
            addCriterion("index2 not in", values, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2Between(String value1, String value2) {
            addCriterion("index2 between", value1, value2, "index2");
            return (Criteria) this;
        }

        public Criteria andIndex2NotBetween(String value1, String value2) {
            addCriterion("index2 not between", value1, value2, "index2");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}